# -*- coding: utf-8 -*-
import multiprocessing
import os
import time



def task():
    for i in range(10):
        print(f'子进程任务执行中...')
        print(f'当前子进程编号', os.getpid())
        print(f'当前进程父进程编号', os.getppid())
        time.sleep(0.5)


if __name__ == '__main__':
    """
    并发：单核处理器，交替执行
    并行：多核处理器，同时执行
    主进程退出，子进程销毁
    1. 把子进程设置为守护主进程，主进程退出子进程销毁，子进程依赖主进程
    2. 让主进程退出前先销毁子进程
    """
    sub_process = multiprocessing.Process(target=task)
    #sub_process.daemon = True
    sub_process.start()

    time.sleep(0.5)
    sub_process.terminate()
    print(f'主进程编号:{os.getpid()}, {multiprocessing.current_process()}')
    print(f'主进程任务执行完成')




